From fe842a54964511431be093e8b4ab33dade5a8422 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 19 Jul 2004 19:07:27 +0000 Subject: [PATCH] Make GtkCellView public, since people seem to have uses for it, it is 2004-07-19 Matthias Clasen Make GtkCellView public, since people seem to have uses for it, it is clean API and we were just conservative in not making it public initially. At the same time, get rid of GtkCellViewMenuItem, which doesn't have any function which can't be served by a GtkMenuItem with a GtkCellView child. * gtk/gtk.h: Include gtkcellview.h * gtk/Makefile.am (gtk_public_h_sources): * gtk/Makefile.am (gtk_private_h_sources): (gtk_c_sources): Remove gtkcellviewmenuitem.[hc] * gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by GtkMenuItem with a GtkCellView child. * gtk/gtkcellviewmenuitem.[hc]: Removed. --- ChangeLog | 19 +++++ ChangeLog.pre-2-10 | 19 +++++ ChangeLog.pre-2-6 | 19 +++++ ChangeLog.pre-2-8 | 19 +++++ gtk/Makefile.am | 4 +- gtk/gtk.h | 1 + gtk/gtkcellviewmenuitem.c | 149 -------------------------------------- gtk/gtkcellviewmenuitem.h | 67 ----------------- gtk/gtkcombobox.c | 79 ++++++++++++-------- 9 files changed, 125 insertions(+), 251 deletions(-) delete mode 100644 gtk/gtkcellviewmenuitem.c delete mode 100644 gtk/gtkcellviewmenuitem.h diff --git a/ChangeLog b/ChangeLog index 8498d9225e..281a6c812f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2004-07-19 Matthias Clasen + + Make GtkCellView public, since people seem to have uses for it, + it is clean API and we were just conservative in not making it + public initially. At the same time, get rid of GtkCellViewMenuItem, + which doesn't have any function which can't be served by a + GtkMenuItem with a GtkCellView child. + + * gtk/gtk.h: Include gtkcellview.h + + * gtk/Makefile.am (gtk_public_h_sources): + + * gtk/Makefile.am (gtk_private_h_sources): + (gtk_c_sources): Remove gtkcellviewmenuitem.[hc] + * gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by + GtkMenuItem with a GtkCellView child. + + * gtk/gtkcellviewmenuitem.[hc]: Removed. + 2004-07-19 Matthias Clasen Support inline autocompletion in entries (#135953) diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 8498d9225e..281a6c812f 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,22 @@ +2004-07-19 Matthias Clasen + + Make GtkCellView public, since people seem to have uses for it, + it is clean API and we were just conservative in not making it + public initially. At the same time, get rid of GtkCellViewMenuItem, + which doesn't have any function which can't be served by a + GtkMenuItem with a GtkCellView child. + + * gtk/gtk.h: Include gtkcellview.h + + * gtk/Makefile.am (gtk_public_h_sources): + + * gtk/Makefile.am (gtk_private_h_sources): + (gtk_c_sources): Remove gtkcellviewmenuitem.[hc] + * gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by + GtkMenuItem with a GtkCellView child. + + * gtk/gtkcellviewmenuitem.[hc]: Removed. + 2004-07-19 Matthias Clasen Support inline autocompletion in entries (#135953) diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 8498d9225e..281a6c812f 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,22 @@ +2004-07-19 Matthias Clasen + + Make GtkCellView public, since people seem to have uses for it, + it is clean API and we were just conservative in not making it + public initially. At the same time, get rid of GtkCellViewMenuItem, + which doesn't have any function which can't be served by a + GtkMenuItem with a GtkCellView child. + + * gtk/gtk.h: Include gtkcellview.h + + * gtk/Makefile.am (gtk_public_h_sources): + + * gtk/Makefile.am (gtk_private_h_sources): + (gtk_c_sources): Remove gtkcellviewmenuitem.[hc] + * gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by + GtkMenuItem with a GtkCellView child. + + * gtk/gtkcellviewmenuitem.[hc]: Removed. + 2004-07-19 Matthias Clasen Support inline autocompletion in entries (#135953) diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 8498d9225e..281a6c812f 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,22 @@ +2004-07-19 Matthias Clasen + + Make GtkCellView public, since people seem to have uses for it, + it is clean API and we were just conservative in not making it + public initially. At the same time, get rid of GtkCellViewMenuItem, + which doesn't have any function which can't be served by a + GtkMenuItem with a GtkCellView child. + + * gtk/gtk.h: Include gtkcellview.h + + * gtk/Makefile.am (gtk_public_h_sources): + + * gtk/Makefile.am (gtk_private_h_sources): + (gtk_c_sources): Remove gtkcellviewmenuitem.[hc] + * gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by + GtkMenuItem with a GtkCellView child. + + * gtk/gtkcellviewmenuitem.[hc]: Removed. + 2004-07-19 Matthias Clasen Support inline autocompletion in entries (#135953) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index cd490b0b0a..914356076a 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -123,6 +123,7 @@ gtk_public_h_sources = \ gtkcellrendererprogress.h \ gtkcellrenderertext.h \ gtkcellrenderertoggle.h \ + gtkcellview.h \ gtkcheckbutton.h \ gtkcheckmenuitem.h \ gtkclipboard.h \ @@ -276,8 +277,6 @@ gtk_semi_private_h_sources = \ # GTK+ header files that don't get installed gtk_private_h_sources = \ gtkcellrendererseptext.h\ - gtkcellview.h \ - gtkcellviewmenuitem.h \ gtkentryprivate.h \ gtkfilechooserembed.h \ gtkfilechooserentry.h \ @@ -332,7 +331,6 @@ gtk_c_sources = \ gtkcellrenderertext.c \ gtkcellrenderertoggle.c \ gtkcellview.c \ - gtkcellviewmenuitem.c \ gtkcheckbutton.c \ gtkcheckmenuitem.c \ gtkclipboard.c \ diff --git a/gtk/gtk.h b/gtk/gtk.h index 03e30a37b7..dd5a3d902a 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include diff --git a/gtk/gtkcellviewmenuitem.c b/gtk/gtkcellviewmenuitem.c deleted file mode 100644 index cf4b21e68f..0000000000 --- a/gtk/gtkcellviewmenuitem.c +++ /dev/null @@ -1,149 +0,0 @@ -/* gtkcellviewmenuitem.c - * Copyright (C) 2003 Kristian Rietveld - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include -#include "gtkcellviewmenuitem.h" -#include "gtkcellview.h" - -struct _GtkCellViewMenuItemPrivate -{ - GtkWidget *cell_view; -}; - -static void gtk_cell_view_menu_item_init (GtkCellViewMenuItem *item); -static void gtk_cell_view_menu_item_class_init (GtkCellViewMenuItemClass *klass); - - -#define GTK_CELL_VIEW_MENU_ITEM_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_CELL_VIEW_MENU_ITEM, GtkCellViewMenuItemPrivate)) - -GType -gtk_cell_view_menu_item_get_type (void) -{ - static GType cell_view_menu_item_type = 0; - - if (!cell_view_menu_item_type) - { - static const GTypeInfo cell_view_menu_item_info = - { - sizeof (GtkCellViewMenuItemClass), - NULL, - NULL, - (GClassInitFunc) gtk_cell_view_menu_item_class_init, - NULL, - NULL, - sizeof (GtkCellViewMenuItem), - 0, - (GInstanceInitFunc) gtk_cell_view_menu_item_init - }; - - cell_view_menu_item_type = - g_type_register_static (GTK_TYPE_MENU_ITEM, "GtkCellViewMenuItem", - &cell_view_menu_item_info, 0); - } - - return cell_view_menu_item_type; -} - -static void -gtk_cell_view_menu_item_class_init (GtkCellViewMenuItemClass *klass) -{ - g_type_class_add_private ((GObjectClass *)klass, - sizeof (GtkCellViewMenuItemPrivate)); -} - -static void -gtk_cell_view_menu_item_init (GtkCellViewMenuItem *item) -{ - item->priv = GTK_CELL_VIEW_MENU_ITEM_GET_PRIVATE (item); -} - -GtkWidget * -gtk_cell_view_menu_item_new (void) -{ - GtkCellViewMenuItem *item; - - item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); - - item->priv->cell_view = gtk_cell_view_new (); - gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); - gtk_widget_show (item->priv->cell_view); - - return GTK_WIDGET (item); -} - -GtkWidget * -gtk_cell_view_menu_item_new_with_pixbuf (GdkPixbuf *pixbuf) -{ - GtkCellViewMenuItem *item; - - item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); - - item->priv->cell_view = gtk_cell_view_new_with_pixbuf (pixbuf); - gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); - gtk_widget_show (item->priv->cell_view); - - return GTK_WIDGET (item); -} - -GtkWidget * -gtk_cell_view_menu_item_new_with_text (const gchar *text) -{ - GtkCellViewMenuItem *item; - - item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); - - item->priv->cell_view = gtk_cell_view_new_with_text (text); - gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); - gtk_widget_show (item->priv->cell_view); - - return GTK_WIDGET (item); -} - -GtkWidget * -gtk_cell_view_menu_item_new_with_markup (const gchar *markup) -{ - GtkCellViewMenuItem *item; - - item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); - - item->priv->cell_view = gtk_cell_view_new_with_markup (markup); - gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); - gtk_widget_show (item->priv->cell_view); - - return GTK_WIDGET (item); -} - -GtkWidget * -gtk_cell_view_menu_item_new_from_model (GtkTreeModel *model, - GtkTreePath *path) -{ - GtkCellViewMenuItem *item; - - item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); - - item->priv->cell_view = gtk_cell_view_new (); - gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); - - gtk_cell_view_set_model (GTK_CELL_VIEW (item->priv->cell_view), model); - gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (item->priv->cell_view), path); - - gtk_widget_show (item->priv->cell_view); - - return GTK_WIDGET (item); -} diff --git a/gtk/gtkcellviewmenuitem.h b/gtk/gtkcellviewmenuitem.h deleted file mode 100644 index 962730e71e..0000000000 --- a/gtk/gtkcellviewmenuitem.h +++ /dev/null @@ -1,67 +0,0 @@ -/* gtkcellviewmenuitem.h - * Copyright (C) 2003 Kristian Rietveld - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GTK_CELL_VIEW_MENU_ITEM_H__ -#define __GTK_CELL_VIEW_MENU_ITEM_H__ - -#include -#include - -G_BEGIN_DECLS - -#define GTK_TYPE_CELL_VIEW_MENU_ITEM (gtk_cell_view_menu_item_get_type ()) -#define GTK_CELL_VIEW_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_VIEW_MENU_ITEM, GtkCellViewMenuItem)) -#define GTK_CELL_VIEW_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_VIEW_MENU_ITEM, GtkCellViewMenuItemClass)) -#define GTK_IS_CELL_VIEW_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_VIEW_MENU_ITEM)) -#define GTK_IS_CELL_VIEW_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_VIEW_MENU_ITEM)) -#define GTK_CELL_VIEW_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_VIEW_MENU_ITEM, GtkCellViewMenuItemClass)) - - -typedef struct _GtkCellViewMenuItem GtkCellViewMenuItem; -typedef struct _GtkCellViewMenuItemClass GtkCellViewMenuItemClass; -typedef struct _GtkCellViewMenuItemPrivate GtkCellViewMenuItemPrivate; - -struct _GtkCellViewMenuItem -{ - GtkMenuItem parent_instance; - - /*< private >*/ - GtkCellViewMenuItemPrivate *priv; -}; - -struct _GtkCellViewMenuItemClass -{ - GtkMenuItemClass parent_class; -}; - - -GType gtk_cell_view_menu_item_get_type (void); -GtkWidget *gtk_cell_view_menu_item_new (void); - -GtkWidget *gtk_cell_view_menu_item_new_with_pixbuf (GdkPixbuf *pixbuf); -GtkWidget *gtk_cell_view_menu_item_new_with_text (const gchar *text); -GtkWidget *gtk_cell_view_menu_item_new_with_markup (const gchar *markup); - -GtkWidget *gtk_cell_view_menu_item_new_from_model (GtkTreeModel *model, - GtkTreePath *path); - - -G_END_DECLS - -#endif /* __GTK_CELL_VIEW_MENU_ITEM_H__ */ diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 4965731c43..489bfcbb47 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -25,7 +25,6 @@ #include "gtkcelllayout.h" #include "gtkcellrenderertext.h" #include "gtkcellview.h" -#include "gtkcellviewmenuitem.h" #include "gtkeventbox.h" #include "gtkframe.h" #include "gtkhbox.h" @@ -1239,7 +1238,7 @@ menu_row_is_sensitive (GtkComboBox *combo_box, GList *cells, *list; gboolean sensitive; - if (!GTK_IS_CELL_VIEW_MENU_ITEM (item)) + if (!GTK_IS_CELL_VIEW (GTK_BIN (item)->child)) return FALSE; cell_view = gtk_bin_get_child (GTK_BIN (item)); @@ -1372,7 +1371,7 @@ update_menu_sensitivity (GtkComboBox *combo_box) GtkWidget *item = GTK_WIDGET (child->data); gboolean sensitive; - if (!GTK_IS_CELL_VIEW_MENU_ITEM (item)) + if (!GTK_IS_CELL_VIEW (GTK_BIN (item)->child)) continue; sensitive = menu_row_is_sensitive (combo_box, item); @@ -2059,14 +2058,21 @@ gtk_combo_box_menu_fill (GtkComboBox *combo_box) tmp = gtk_separator_menu_item_new (); else { - tmp = gtk_cell_view_menu_item_new_from_model (combo_box->priv->model, - path); + GtkCellView *cell_view; + + cell_view = gtk_cell_view_new (); + gtk_cell_view_set_model (cell_view, combo_box->priv->model); + gtk_cell_view_set_displayed_row (cell_view, path); + gtk_widget_show (GTK_WIDGET (cell_view)); + + tmp = gtk_menu_item_new (); + gtk_container_add (GTK_CONTAINER (tmp), cell_view); + g_signal_connect (tmp, "activate", G_CALLBACK (gtk_combo_box_menu_item_activate), combo_box); - cell_view_sync_cells (combo_box, - GTK_CELL_VIEW (GTK_BIN (tmp)->child)); + cell_view_sync_cells (combo_box, cell_view); } gtk_menu_shell_append (GTK_MENU_SHELL (menu), tmp); @@ -2412,6 +2418,7 @@ gtk_combo_box_menu_row_inserted (GtkTreeModel *model, GtkWidget *menu; GtkWidget *item; GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkCellView *cell_view; if (!combo_box->priv->popup_widget) return; @@ -2419,12 +2426,19 @@ gtk_combo_box_menu_row_inserted (GtkTreeModel *model, menu = combo_box->priv->popup_widget; g_return_if_fail (GTK_IS_MENU (menu)); - item = gtk_cell_view_menu_item_new_from_model (model, path); + cell_view = gtk_cell_view_new (); + gtk_cell_view_set_model (cell_view, model); + gtk_cell_view_set_displayed_row (cell_view, path); + gtk_widget_show (GTK_WIDGET (cell_view)); + + item = gtk_menu_item_new (); + gtk_container_add (GTK_CONTAINER (item), cell_view); + g_signal_connect (item, "activate", G_CALLBACK (gtk_combo_box_menu_item_activate), combo_box); - cell_view_sync_cells (combo_box, GTK_CELL_VIEW (GTK_BIN (item)->child)); + cell_view_sync_cells (combo_box, cell_view); gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, gtk_tree_path_get_indices (path)[0]); @@ -2999,10 +3013,10 @@ gtk_combo_box_cell_layout_pack_start (GtkCellLayout *layout, if (GTK_IS_TEAROFF_MENU_ITEM (i->data)) continue; - if (GTK_IS_CELL_VIEW_MENU_ITEM (i->data)) - view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); - else - view = GTK_CELL_VIEW (i->data); + if (GTK_IS_CELL_VIEW (i->data)) + view = GTK_CELL_VIEW (i->data); + else + view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (view), cell, expand); } @@ -3052,10 +3066,10 @@ gtk_combo_box_cell_layout_pack_end (GtkCellLayout *layout, if (GTK_IS_TEAROFF_MENU_ITEM (i->data)) continue; - if (GTK_IS_CELL_VIEW_MENU_ITEM (i->data)) - view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); - else + if (GTK_IS_CELL_VIEW (i->data)) view = GTK_CELL_VIEW (i->data); + else + view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (view), cell, expand); } @@ -3105,10 +3119,10 @@ gtk_combo_box_cell_layout_clear (GtkCellLayout *layout) if (GTK_IS_TEAROFF_MENU_ITEM (i->data)) continue; - if (GTK_IS_CELL_VIEW_MENU_ITEM (i->data)) - view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); - else + if (GTK_IS_CELL_VIEW (i->data)) view = GTK_CELL_VIEW (i->data); + else + view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); gtk_cell_layout_clear (GTK_CELL_LAYOUT (view)); } @@ -3159,10 +3173,10 @@ gtk_combo_box_cell_layout_add_attribute (GtkCellLayout *layout, if (GTK_IS_TEAROFF_MENU_ITEM (i->data)) continue; - if (GTK_IS_CELL_VIEW_MENU_ITEM (i->data)) - view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); - else + if (GTK_IS_CELL_VIEW (i->data)) view = GTK_CELL_VIEW (i->data); + else + view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (view), cell, attribute, column); @@ -3222,10 +3236,10 @@ gtk_combo_box_cell_layout_set_cell_data_func (GtkCellLayout *layout, if (GTK_IS_TEAROFF_MENU_ITEM (i->data)) continue; - if (GTK_IS_CELL_VIEW_MENU_ITEM (i->data)) - view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); - else + if (GTK_IS_CELL_VIEW (i->data)) view = GTK_CELL_VIEW (i->data); + else + view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (view), cell, func, func_data, NULL); @@ -3281,10 +3295,10 @@ gtk_combo_box_cell_layout_clear_attributes (GtkCellLayout *layout, if (GTK_IS_TEAROFF_MENU_ITEM (i->data)) continue; - if (GTK_IS_CELL_VIEW_MENU_ITEM (i->data)) - view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); - else + if (GTK_IS_CELL_VIEW (i->data)) view = GTK_CELL_VIEW (i->data); + else + view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (view), cell); } @@ -3343,10 +3357,10 @@ gtk_combo_box_cell_layout_reorder (GtkCellLayout *layout, if (GTK_IS_TEAROFF_MENU_ITEM (i->data)) continue; - if (GTK_IS_CELL_VIEW_MENU_ITEM (i->data)) - view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); - else + if (GTK_IS_CELL_VIEW (i->data)) view = GTK_CELL_VIEW (i->data); + else + view = GTK_CELL_VIEW (GTK_BIN (i->data)->child); gtk_cell_layout_reorder (GTK_CELL_LAYOUT (view), cell, position); } @@ -4059,7 +4073,8 @@ gtk_cell_editable_key_press (GtkWidget *widget, } else if (event->keyval == GDK_Return) { - gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); + if (GTK_IS_CELL_EDITABLE (combo_box)) + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); if (GTK_IS_CELL_EDITABLE (combo_box)) gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); -- 2.30.2